package com.sunwayworld.basemodule.business.qualitycontrol.qualitycontrolresult.bean;

import com.alibaba.fastjson.JSONObject;
import com.sunwayworld.framework.data.annotation.Id;
import com.sunwayworld.framework.data.annotation.Table;
import com.sunwayworld.framework.data.annotation.Transient;
import com.sunwayworld.framework.support.domain.Insertable;
import com.sunwayworld.framework.support.domain.AbstractInsertable;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;
import com.alibaba.fastjson.annotation.JSONField;

/**
 * 质控结果数据整理表-保存
 * 
 * @author zhoujq@sunwayworld.com
 * @date 2022-04-28
 */
@Table("T_LIMS_QUALITYCONTROL_TEST_RESULT_MANAGE_SAVE")
public class LimsQualitycontrolTestResultManageSaveBean extends AbstractInsertable<Long> implements Insertable<Long> {

    @Transient
    private static final long serialVersionUID = -82566196618711043L;

    @Id
    private Long id;// 主键
    private String controlMaterialName;// 质控物名称
    private String mainBatchCode;// 质控物批号
    private String controlMaterialLevel;// 质控物水平
    private String equipmentName;// 仪器设备
    private String professionalGroup;// 专业组
    private String productCode;// 质控项目编码
    private String productName;// 质控项目名称
    private String methodDesc;// 检测方法
    private Double testResult;// 检测结果
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime resultSaveTime;// 录入时间
    private Double targetValue;// 靶值
    private Double standardDeviation;// 标准差
    private Double cvValue;// CV
    private String controlRule;// 质控规则
    private Long controlPlanId;// 质控计划id
    private Long controlProjectId;// 质控计划项目id
    private Long controlTestBatchId;// 质控实验批次id
    private String qualityControlTestBatchCode;// 质控实验批号
    private String outOfControlReason;// 失控原因
    private String howToHandle;// 处理方式
    private String auditerName;// 审核者
    private Long auditerId;// 审核者id
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime auditTime;// 审核时间
    private String createdById;// 制单人编码
    private String createdByName;// 创建人
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdTime;// 创建时间
    private String createdByOrgId;// 制单人单位编码
    private String createdByOrgName;// 制单人单位名称
    private Long groupByCreaterAndId;// 分组id
    private String groupByCreaterAndCode;// 分组code

    private Double averageForResult;// 平均值

    private Double standardDeviationForResult;// 标准差

    private Double relativeValue;// 相对值

    private JSONObject describeJSON;

    private String abnormalDesc;

    private Double cvForResult;//分组结果CV值（平均值/标准差）

    private String removeStatus;// 质控结果查看-剔除状态  默认0  为1时剔除出质控图的绘制

    private Long resultId;// 质控结果表的id

    public Long getResultId() {
        return resultId;
    }

    public void setResultId(Long resultId) {
        this.resultId = resultId;
    }

    public String getRemoveStatus() {
        return removeStatus;
    }

    public void setRemoveStatus(String removeStatus) {
        this.removeStatus = removeStatus;
    }

    public Double getCvForResult() {
        return cvForResult;
    }

    public void setCvForResult(Double cvForResult) {
        this.cvForResult = cvForResult;
    }

    public String getAbnormalDesc() {
        return abnormalDesc;
    }

    public void setAbnormalDesc(String abnormalDesc) {
        this.abnormalDesc = abnormalDesc;
    }

    public JSONObject getDescribeJSON() {
        return describeJSON;
    }

    public void setDescribeJSON(JSONObject describeJSON) {
        this.describeJSON = describeJSON;
    }

    public Double getRelativeValue() {
        return relativeValue;
    }

    public void setRelativeValue(Double relativeValue) {
        this.relativeValue = relativeValue;
    }

    public Double getAverageForResult() {
        return averageForResult;
    }

    public void setAverageForResult(Double averageForResult) {
        this.averageForResult = averageForResult;
    }

    public Double getStandardDeviationForResult() {
        return standardDeviationForResult;
    }

    public void setStandardDeviationForResult(Double standardDeviationForResult) {
        this.standardDeviationForResult = standardDeviationForResult;
    }

    public Double getTargetValue() {
        return targetValue;
    }

    public void setTargetValue(Double targetValue) {
        this.targetValue = targetValue;
    }

    public Double getStandardDeviation() {
        return standardDeviation;
    }

    public void setStandardDeviation(Double standardDeviation) {
        this.standardDeviation = standardDeviation;
    }

    public Double getCvValue() {
        return cvValue;
    }

    public void setCvValue(Double cvValue) {
        this.cvValue = cvValue;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getControlMaterialName() {
        return controlMaterialName;
    }

    public void setControlMaterialName(String controlMaterialName) {
        this.controlMaterialName = controlMaterialName;
    }

    public String getMainBatchCode() {
        return mainBatchCode;
    }

    public void setMainBatchCode(String mainBatchCode) {
        this.mainBatchCode = mainBatchCode;
    }

    public String getControlMaterialLevel() {
        return controlMaterialLevel;
    }

    public void setControlMaterialLevel(String controlMaterialLevel) {
        this.controlMaterialLevel = controlMaterialLevel;
    }

    public String getEquipmentName() {
        return equipmentName;
    }

    public void setEquipmentName(String equipmentName) {
        this.equipmentName = equipmentName;
    }

    public String getProfessionalGroup() {
        return professionalGroup;
    }

    public void setProfessionalGroup(String professionalGroup) {
        this.professionalGroup = professionalGroup;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getMethodDesc() {
        return methodDesc;
    }

    public void setMethodDesc(String methodDesc) {
        this.methodDesc = methodDesc;
    }

    public Double getTestResult() {
        return testResult;
    }

    public void setTestResult(Double testResult) {
        this.testResult = testResult;
    }

    public LocalDateTime getResultSaveTime() {
        return resultSaveTime;
    }

    public void setResultSaveTime(LocalDateTime resultSaveTime) {
        this.resultSaveTime = resultSaveTime;
    }

    public String getControlRule() {
        return controlRule;
    }

    public void setControlRule(String controlRule) {
        this.controlRule = controlRule;
    }

    public Long getControlPlanId() {
        return controlPlanId;
    }

    public void setControlPlanId(Long controlPlanId) {
        this.controlPlanId = controlPlanId;
    }

    public Long getControlProjectId() {
        return controlProjectId;
    }

    public void setControlProjectId(Long controlProjectId) {
        this.controlProjectId = controlProjectId;
    }

    public Long getControlTestBatchId() {
        return controlTestBatchId;
    }

    public void setControlTestBatchId(Long controlTestBatchId) {
        this.controlTestBatchId = controlTestBatchId;
    }

    public String getQualityControlTestBatchCode() {
        return qualityControlTestBatchCode;
    }

    public void setQualityControlTestBatchCode(String qualityControlTestBatchCode) {
        this.qualityControlTestBatchCode = qualityControlTestBatchCode;
    }

    public String getOutOfControlReason() {
        return outOfControlReason;
    }

    public void setOutOfControlReason(String outOfControlReason) {
        this.outOfControlReason = outOfControlReason;
    }

    public String getHowToHandle() {
        return howToHandle;
    }

    public void setHowToHandle(String howToHandle) {
        this.howToHandle = howToHandle;
    }

    public String getAuditerName() {
        return auditerName;
    }

    public void setAuditerName(String auditerName) {
        this.auditerName = auditerName;
    }

    public Long getAuditerId() {
        return auditerId;
    }

    public void setAuditerId(Long auditerId) {
        this.auditerId = auditerId;
    }

    public LocalDateTime getAuditTime() {
        return auditTime;
    }

    public void setAuditTime(LocalDateTime auditTime) {
        this.auditTime = auditTime;
    }

    public String getCreatedById() {
        return createdById;
    }

    public void setCreatedById(String createdById) {
        this.createdById = createdById;
    }

    public String getCreatedByName() {
        return createdByName;
    }

    public void setCreatedByName(String createdByName) {
        this.createdByName = createdByName;
    }

    public LocalDateTime getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(LocalDateTime createdTime) {
        this.createdTime = createdTime;
    }

    public String getCreatedByOrgId() {
        return createdByOrgId;
    }

    public void setCreatedByOrgId(String createdByOrgId) {
        this.createdByOrgId = createdByOrgId;
    }

    public String getCreatedByOrgName() {
        return createdByOrgName;
    }

    public void setCreatedByOrgName(String createdByOrgName) {
        this.createdByOrgName = createdByOrgName;
    }

    public Long getGroupByCreaterAndId() {
        return groupByCreaterAndId;
    }

    public void setGroupByCreaterAndId(Long groupByCreaterAndId) {
        this.groupByCreaterAndId = groupByCreaterAndId;
    }

    public String getGroupByCreaterAndCode() {
        return groupByCreaterAndCode;
    }

    public void setGroupByCreaterAndCode(String groupByCreaterAndCode) {
        this.groupByCreaterAndCode = groupByCreaterAndCode;
    }

}
